iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0

在寫module之前

確定module的分類很重要

這時候有一個經典的分類就是lib vs framework

根據wiki的定義

lib: lib基本上是一坨實作,讓開發者可以調用來增快開發速度&可讀性

framework: 框架是讓開發者可以夠某一種模板,來進行特定任務

其實這兩個分野還滿模糊的

例如React/Vue到底是lib還是framework就有很多爭議

但是有個基本概念要搞清楚

一但選擇用接近lib的方式開發,對於開發者的干涉就要進量少

而選擇開發框架,就要讓使用者盡可能套版就可以完成實作

以下是一個框架的範例code

class FrameFormatter(abc.ABC):

    @abc.abstractmethod
    def prepare_pack_data(self):
        return NotImplemented

    @abc.abstractmethod
    def pack_label_and_content(self):
        return NotImplemented

    @abc.abstractmethod
    def store_pack_result(self):
        return NotImplemented

    @abc.abstractmethod
    def generate_report(self):
        return NotImplemented

    @property
    @abc.abstractmethod
    def with_ann_image_count(self):
        return NotImplemented

    @property
    @abc.abstractmethod
    def annotation_count(self):
        return NotImplemented

    @property
    @abc.abstractmethod
    def report_id(self):
        return NotImplemented

    def before_prepare_pack_data(self):
        pass

    def after_prepare_pack_data(self):
        pass

上一篇
D8 - 如何用設計鼓勵好的行為
下一篇
D10 - 不要再import了,auto discover的運用
系列文
寫個好的lib大家用吧!那些好用的lib常見的套路與想法25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言